5
תגובות
שאלה OOP
פתח
questioner
,
האם נהוג לצור מחלקה ליצירת משתמשים חדשים, ומחלקה לטעינת משתמשים קיימים, או להשתמש באותה מחלקה?
5 תשובות
מה שנוח לך.
לי בעבר הייתה פעולה "צור משתמש חדש" בתור פעולה סטטית של המחלקה משתמש
שהייתה מחזירה מופע של משתמש חדש.
אתה יכול הקונסטרקטור של המחלקה להעביר לה פרמטר id של המשתמש ואז לטעון את המשתמש
או לא להעביר לה שום דבר ואז היא תיצור משתמש חדש בעצמה
ענה
iiddaannyy
ב
29 ליוני 2012
#
באופן אישי אני מעדיף את השיטה הראשונה ^, פעולה סטטית של יצירת משתמש חדש שמחזירה מופע חדש של המחלקה.
ענה
questioner
ב
29 ליוני 2012
#
מה היתרון של זה? זה נראה לי סתם יותר מסובך.
ענה
iiddaannyy
ב
29 ליוני 2012
#
אני לא חושב.
זה סתם לדחוף תנאי ולהתחיל לשחק עם הפרמטרים (אתה הרי אמור לקבל כפרמטרים את הפרטים של המשתמש החדש).
במקום זה, שים בנאי פשוט ופעולה סטטית בשם create שתיצור משתמש ותחזיר מופע של משתמש.
ענה
iiddaannyy
ב
29 ליוני 2012
#
רק להראות כמה זה פשוט:
class user {
private $id;
public function __construct($id) {
$this->id = $id;
}
public static function create($username, $password, ...) {
$mysqli = new mysqli...
$mysqli->query("...");
return new self($mysqli->inser_id); // or new user($mysqli->insert_id);
}
}
$user = user::create('iiddaannyy', 'mypass'...);
private $id;
public function __construct($id) {
$this->id = $id;
}
public static function create($username, $password, ...) {
$mysqli = new mysqli...
$mysqli->query("...");
return new self($mysqli->inser_id); // or new user($mysqli->insert_id);
}
}
$user = user::create('iiddaannyy', 'mypass'...);